import createDOMElement from "./createDOMElement";
import unmountNode from "./unmountNode";
// 渲染普通element的vdom，挂载到container上
export default function mountNativeElement(vDom, container, oldDom) {
  // 创建element
  let newElement = createDOMElement(vDom)
  // 如果存在oldDom，说明有需要添加元素的具体位置
  if (oldDom) {
    container.insertBefore(newElement, oldDom)
  } else {
    container.appendChild(newElement)
  }
  if (oldDom) {
    unmountNode(oldDom)
  }
  // 如果具有vDom具有component，说明这是一个类组件
  const component = vDom.component
  if (component) {
    // 将旧节点设置到component实例上，方便后续的比对
    component.setDom(newElement)
  }
}